<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns:jsp="http://java.sun.com/JSP/Page"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ci="http://java.sun.com/jsp/jstl/core"
	xmlns:c="http://sourceforge.net/projects/jsf-comp"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions"
	xmlns:t="http://myfaces.apache.org/tomahawk"
    xmlns:p="http://primefaces.org/ui">

	<ui:composition template="/template/pCliente.xhtml">
		<ui:define name="head">
			<script type="text/javascript">//<![CDATA[
				function validarNumerico(e){
					tecla_codigo = (document.all) ? e.keyCode : e.which;
					if(tecla_codigo==8)return true;
					patron =/[0-9]/;
					tecla_valor = String.fromCharCode(tecla_codigo);
					return patron.test(tecla_valor);
				}
				
				function handleAlertaDialogGuardarTProducto(xhr, status, args) {
					if(args.isAlertaTProductoSaveOk) {
						popdlgAlertEdit.hide();
			        }
			    }
				
				function handleAlertaDialogGuardarAdicional(xhr, status, args) {
					if(args.isAlertaAdicionalSaveOk) {
						popdlgAlertEdit.hide();
			        }
			    }
        	//]]></script>
			<title>Asesor 360</title>
		</ui:define>
		<ui:define name="titulopagina">
			<h:outputText value="INFORMACIÓN DE ALERTAS" />
		</ui:define>
		<ui:define name="bodyarea">
			<input type="hidden" id="nomReporte" name="nomReporte" value="consultaAlertas"/>
			<f:event type="preRenderView" listener="#{alertaClienteController.onPageLoad}"/>
			<p:messages id="messagesMain" showDetail="true" closable="true" />
			<h:panelGrid id="idContentMain" width="100%">
				<h:panelGrid headerClass="cabeceraPanelSimple" cellspacing="0"
					cellpadding="5" styleClass="bordePanel" columns="1" width="100%"
					style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
					<f:facet name="header">
						<h:outputText value="Criterio de Búsqueda" />
					</f:facet>
					<h:panelGrid columns="4" id="pnlCriterios">
						<h:outputText value="Fecha Desde:" styleClass="texto" />
						<p:calendar value="#{alertaClienteController.valAlertasModel.fechaDesde}" locale="es" showButtonPanel="false" 
							showOn="button" pattern="dd/MM/yyyy" size="11" maxlength="10">
							<p:ajax event="dateSelect" listener="#{alertaClienteController.validateDateListener}" 
								update=":formPrincipal:messagesMain"/>
							<p:ajax event="change" listener="#{alertaClienteController.validateDateListener}" 
								update=":formPrincipal:messagesMain"/>
						</p:calendar>
						<h:outputText value="Fecha Hasta:" styleClass="texto" />
						<p:calendar value="#{alertaClienteController.valAlertasModel.fechaHasta}" locale="es" showButtonPanel="false" 
							showOn="button" pattern="dd/MM/yyyy" size="11" maxlength="10">
							<p:ajax event="dateSelect" listener="#{alertaClienteController.validateDateListener}" 
								update=":formPrincipal:messagesMain"/>
							<p:ajax event="change" listener="#{alertaClienteController.validateDateListener}" 
								update=":formPrincipal:messagesMain"/>
						</p:calendar>
						<h:outputText value="Estado:" styleClass="texto" />
						<p:selectOneMenu id="cmbSituacion" value="#{alertaClienteController.strIDEstadoAlerta}">
							<f:selectItems id="lstEstadoAlerta" value="#{alertaClienteController.valAlertasModel.listarEstadoAlertas}"/>
						</p:selectOneMenu>
						<p:commandButton icon="ui-icon-search" value="Buscar" actionListener="#{alertaClienteController.cargarAlertas}"
							update=":formPrincipal:tableAlertas,:formPrincipal:messagesMain" id="btnBuscar"/>
						<h:outputText value="" styleClass="messages"/>
					</h:panelGrid>
				</h:panelGrid>
				<h:panelGrid headerClass="cabeceraPanelSimple" cellspacing="0"
					cellpadding="5" styleClass="bordePanel" columns="1" width="100%"
					style="margin-left: 0px; margin-top: 3px; margin-bottom:5px">
					<f:facet name="header">
						<h:outputText value="Resultados" />
					</f:facet>
					<h:panelGrid columns="1" width="100%">
						<p:dataTable id="tableAlertas" value="#{alertaClienteController.valAlertasModel.listarAlertas}" var="fila"  
							emptyMessage="No hay resultados." paginator="true" rows="10" rowIndexVar="rowIndex" styleClass="styleDataTableWrapNormal"
							rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'styleDataTableRowColorClaro' : 'styleDataTableRowColorOscuro'}">
							<p:column sortBy="#{fila.nombreusuarioasesor}">
								<f:facet name="header"><h:outputText value="Ejecutivo"/></f:facet>
								<h:outputText value="#{fila.nombreusuarioasesor}" />
							</p:column>
							<p:column sortBy="#{fila.descripcategoriaporproducto}">
								<f:facet name="header"><h:outputText value="Categoría Producto"/></f:facet>
								<h:outputText value="#{fila.descripcategoriaporproducto}" />
							</p:column>
							<p:column width="100" sortBy="#{fila.dessubproducto}">
								<f:facet name="header"><h:outputText value="Producto"/></f:facet>
								<h:outputText value="#{fila.dessubproducto}" />
							</p:column>
							<p:column width="70" sortBy="#{fila.codcontrato}">
								<f:facet name="header"><h:outputText value="Contrato"/></f:facet>
								<h:outputText value="#{fila.codcontrato}" >
									<f:converter converterId="contratoConverter" /> 
								</h:outputText>
							</p:column>
							<p:column sortBy="#{fila.isin}">
								<f:facet name="header"><h:outputText value="Título"/></f:facet>
								<h:outputText value="#{fila.isin}" />
							</p:column>
							<p:column sortBy="#{fila.descriptipoalarma}">
								<f:facet name="header"><h:outputText value="Tipo Alarma"/></f:facet>
								<h:outputText value="#{fila.descriptipoalarma}" />
							</p:column>
							<p:column sortBy="#{fila.valoralarma}" styleClass="columnNumero">
								<f:facet name="header"><h:outputText value="Valor Tipo Alarma"/></f:facet>
								<h:outputText value="#{fila.valoralarma}">
									<f:convertNumber pattern="#,##0.00" locale="US"/>
								</h:outputText>
							</p:column>
							<p:column sortBy="#{fila.fecexpiracion}">
								<f:facet name="header"><h:outputText value="Fecha Expiración"/></f:facet>
								<h:outputText value="#{fila.fecexpiracion}" >
									<f:converter converterId="fechaConverte" /> 
								</h:outputText>
							</p:column>
							<p:column sortBy="#{fila.descripestado}">
								<f:facet name="header"><h:outputText value="Estado"/></f:facet>
								<h:outputText value="#{fila.descripestado}" />
							</p:column>
							<p:column width="20">
								<f:facet name="header"><h:outputText value="" /></f:facet>
								<p:commandButton oncomplete="popdlgAlertEdit.show()" actionListener="#{alertaClienteController.seleccionarRegistro(fila)}" 
									icon="ui-icon-pencil" update=":iddlgAlertEdit" id="btnEditar"/>
								<p:tooltip for="btnEditar" value="Editar" />
							</p:column>
							<p:column width="20">
								<f:facet name="header">
									<h:outputText value="" />
								</f:facet>
								<p:commandLink id="btnActualizarEstado" actionListener="#{alertaClienteController.actualizarEstado(fila)}"
									update=":formPrincipal:tableAlertas,:formPrincipal:messagesMain" rendered="#{fila.tipo=='E'}"> 
									<h:graphicImage value="/imagenes/iconos/TaskHS.png" style="border:0px;" />
								</p:commandLink>
								<p:tooltip for="btnActualizarEstado" value="Actualizar Estado" />
							</p:column>
						</p:dataTable>				
						<p:commandButton icon="ui-icon-document" actionListener="#{alertaClienteController.cargarFormularioAlertaXTipoProducto}"
							oncomplete="popdlgAlertEdit.show()" id="btnNuevaAlerta" update=":iddlgAlertEdit" value="Nuevo"/>
					</h:panelGrid>
				</h:panelGrid>
			</h:panelGrid>
			<p:blockUI block=":formPrincipal:idContentMain" trigger=":formPrincipal:btnBuscar">
				<h:panelGrid columns="2">
					<p:graphicImage value="/imagenes/iconos/ajax-loader1.gif" style="margin-right: 12px; vertical-align: middle;"/>
					<h:outputText value="Cargando..." style="white-space: nowrap;" />
				</h:panelGrid>
			</p:blockUI>
		</ui:define>
		<ui:define name="extraarea">
			<p:dialog id="iddlgAlertEdit" header="#{alertaClienteController.valAlertasModel.tituloVentana}" widgetVar="popdlgAlertEdit" modal="true"
				dynamic="true" width="640">
				<p:tabView id="tabView1" dynamic="true" cache="false">
					<p:tab id="tbTipoProduto" title="Alerta por Tipo Producto" rendered="#{alertaClienteController.valAlertasModel.renderTabProducto}">
						<h:form id="ff">
							<p:messages id="messagesTProducto" showDetail="true" closable="true" />
							<h:panelGrid columns="1" width="100%" styleClass="bordePanel">
								<h:panelGrid columns="2">
								    <h:outputLabel value="Ultima Modificación:" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel id="ultModifi" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}" value="#{alertaClienteController.strUltModifi}" />
									<h:outputLabel value="Fecha Modificación:" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel id="fecModifi" value="#{alertaClienteController.strFecModifi}" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
																		
									<h:outputLabel value="Categoría:" />							 	
									<p:selectOneMenu id="cmbCategoria" value="#{alertaClienteController.strIDListarCategoria}">
										<p:ajax event="change" listener="#{alertaClienteController.cargarComboContrato}"
											update=":tabView1:ff:cmbContrato,:tabView1:ff:cmbTitulo,:tabView1:ff:cmbTipoContrato"/>
										<f:selectItems id="cmbCategoriaItems" value="#{alertaClienteController.valAlertasModel.listarCategoria}" /> 									
									</p:selectOneMenu>
									<h:outputLabel value="Contrato:" />
									<p:selectOneMenu id="cmbContrato" value="#{alertaClienteController.strIDListarContrato}">
										<p:ajax event="change" listener="#{alertaClienteController.cargarComboTitulo}"
											update=":tabView1:ff:cmbTitulo,:tabView1:ff:idStrMoneda"/>
										<f:selectItems id="cmbContratoItems" value="#{alertaClienteController.valAlertasModel.listarContrato}" />
									</p:selectOneMenu>
									<h:outputLabel value="Título:" disabled="#{alertaClienteController.valAlertasModel.renderTitulo}"/>
									<p:selectOneMenu id="cmbTitulo" disabled="#{alertaClienteController.valAlertasModel.renderTitulo}" 
										value="#{alertaClienteController.strIDListarTitulo}">
										<f:selectItems id="cmbTituloItems" value="#{alertaClienteController.valAlertasModel.listarTitulo}" />
									</p:selectOneMenu>
									<h:outputLabel value="Moneda:" />
									<h:outputLabel id="idStrMoneda" value="#{alertaClienteController.strMoneda}" />
									<h:outputLabel value="Tipo de Alarma:"/>
									<p:selectOneMenu id="cmbTipoContrato" value="#{alertaClienteController.strIDListarTipoAlarma}">
										<f:selectItems id="cmbTipoContratoItems" value="#{alertaClienteController.valAlertasModel.listarTipoAlarma}" />
									</p:selectOneMenu>
									<h:outputLabel value="Valor Actual:" />
                                    <h:outputText value="#{alertaClienteController.valAlertasModel.valorActual}">
										<f:convertNumber pattern="#,##0.00" locale="US"/>
									</h:outputText>
									<h:outputLabel value="Valor:" />
									<h:panelGroup>
										<h:inputText styleClass="inputText" id="idValorAlarma" value="#{alertaClienteController.valAlertasModel.valorAlerta}" 
											maxlength="10" style="text-align:right;" onkeypress="return  pValidateNumber(event)">
											<f:convertNumber pattern="#,##0.00" locale="US"/>
											<p:ajax event="change" listener="#{alertaClienteController.limpiarNumero}" 
												update=":tabView1:ff:idValorAlarma,:tabView1:ff:messagesTProducto"/>
										</h:inputText>
										<h:outputLabel value="(Monto expresado en la moneda del Contrato)" />
									</h:panelGroup>
									<h:outputLabel value="Fecha de Expiración:" />
									<p:calendar value="#{alertaClienteController.valAlertasModel.fechaExp}" locale="es" showButtonPanel="false" 
										showOn="button" pattern="dd/MM/yyyy" size="11" maxlength="10" />
								</h:panelGrid>
								<h:panelGrid columns="4">
									<p:spacer width="130px" height="10px" />
									<p:commandButton icon="ui-icon-disk" value="Guardar" actionListener="#{alertaClienteController.guardarAlertaClienteTipoProducto}" 
										oncomplete="handleAlertaDialogGuardarTProducto(xhr, status, args)"/>
									<p:spacer width="80px" height="10px" />
									<p:commandButton icon="ui-icon-cancel" value="Cancelar" oncomplete="popdlgAlertEdit.hide()"/>
								</h:panelGrid>
							</h:panelGrid>
						</h:form>
					</p:tab>
					<p:tab id="tbAdicional" title="Alerta Adicional" rendered="#{alertaClienteController.valAlertasModel.renderTabAdicional}">
						<h:form id="ff2">
							<p:messages id="messagesAdicional" showDetail="true" closable="true" />
							<h:panelGrid columns="1" width="100%" styleClass="bordePanel">
								<h:panelGrid columns="2">
								 	<h:outputLabel value="Ultima Modificación:" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel id="ultModifi2" value="#{alertaClienteController.strUltModifi}" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel value="Fecha Modificación:" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel id="fecModifi2" value="#{alertaClienteController.strFecModifi}" rendered="#{alertaClienteController.valAlertasModel.renderAuditoria}"/>
									<h:outputLabel value="Tipo de Alarma:" />
									<p:selectOneMenu id="cmbTipoAlarmaAdic" value="#{alertaClienteController.strIDListarTipoAlarmaAdicional}">
										<f:selectItems id="cmbTipoAlarmaAdicItems" value="#{alertaClienteController.valAlertasModel.listarTipoAlarmaAdicional}" />
									</p:selectOneMenu>
									<h:outputLabel value="Descripción del Evento:" />
									<h:inputTextarea id="idTextoArea" styleClass="textoArea" value="#{alertaClienteController.valAlertasModel.txtTextoArea}" />
									<h:outputLabel value="Fecha:" />
									<p:calendar value="#{alertaClienteController.valAlertasModel.datFechaFin}" locale="es" showButtonPanel="false" 
										showOn="button" pattern="dd/MM/yyyy" size="11" maxlength="10" />
								</h:panelGrid>
								<h:panelGrid columns="4">
									<p:spacer width="130px" height="10px" />
									<p:commandButton icon="ui-icon-disk" value="Guardar" actionListener="#{alertaClienteController.guardarAlertaClienteAdicional}"
										oncomplete="handleAlertaDialogGuardarAdicional(xhr, status, args)"/>
									<p:spacer width="80px" height="10px" />
									<p:commandButton icon="ui-icon-cancel" value="Cancelar" oncomplete="popdlgAlertEdit.hide()"/>
								</h:panelGrid>
							</h:panelGrid>
						</h:form>
					</p:tab>
				</p:tabView>
			</p:dialog>
		</ui:define>		
	</ui:composition>
</html>